home *** CD-ROM | disk | FTP | other *** search
-
- void *xalloc(size_t size)
- { void *p;
- assert(size);
- BEGIN_TRY { /* get some RAM */
- if (!(p = malloc(size))) {
- assert(errno == ENOMEM);
- FAIL(X_ERRNO);
- }
- } FAIL_TRY { /* no RAM, so cram */
- if (X_Error == X_ERRNO)
- if (errno == ENOMEM)
- if (CompactMem(size))
- RETRY;
- } END_TRY;
- assert(p);
- return p;
- }
-
-